home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib07.dsk / CONTROLLED INPUT SUBROUTINE.bas < prev    next >
BASIC Source File  |  2023-02-26  |  1KB  |  18 lines

  1. 10 X = 10:X3 = 11:X1 = 10:X4 = X3 +1:X2 = X1A = 0:A$(A) = "INPUT STRING": HOME : GOSUB 6000: PRINT : PRINT "THE STRING YOU TYPED IS '"Y$"'": END : REM DEMO TO SHOW HOW PARAMETERS SHOULD BE SET UP
  2. 300  PRINT : PRINT : PRINT "ESCAPE KEY PRESSED": END 
  3. 6000 L = X:Y$ = "":Y1 = 0:X1 =  LEN(A$(A)) +1:X2 = X +X1 +1:X4 = X3 +1: VTAB X3: HTAB X1: CALL  -958: VTAB X4: HTAB X2: PRINT  CHR$(94)
  4. 6010  VTAB X3: HTAB X1: CALL  -868: VTAB X3: HTAB 1: PRINT A$(A)": "Y$: VTAB X3: HTAB X1
  5. 6020  GET X$: IF X$ =  CHR$(27)  THEN  POP : GOTO 300
  6. 6030  IF X$ =  CHR$(13)  THEN 6080
  7. 6040  IF X$ =  CHR$(8)  THEN 6100
  8. 6050  IF X$ = ""  THEN 6020
  9. 6060  IF X <1  THEN 6120
  10. 6070 X = X -1:Y$ = Y$ +X$:Y1 =  INT( LEN(Y$)): GOTO 6010
  11. 6080  IF Y1 <Y  THEN 6020
  12. 6090  RETURN 
  13. 6100  IF Y1 < = 1  THEN Y$ = "":X = (X +1) *(X <L) +(L *(X >L)): GOTO 6010
  14. 6110 Y1 = Y1 -1:Y$ =  LEFT$(Y$,Y1):X = X +1: GOTO 6010
  15. 6120  GET X$: IF X$ =  CHR$(27)  THEN  POP : GOTO 300
  16. 6130  IF X$ =  CHR$(13)  THEN 6080
  17. 6140  IF X$ =  CHR$(8)  THEN 6100
  18. 6150  GOTO 6120